#ifndef PLAYER_STATISTICS_H
#define PLAYER_STATISTICS_H

class PlayerStatistics
{
public:
    PlayerStatistics();
    ~PlayerStatistics();

    //offensive stat methods
    int getAtBats();
    void setAtBats(int inputAtBats);
    int getSingles();
    void setSingles(int inputSingles);
    int getDoubles();
    void setDoubles(int inputDoubles);
    int getTriples();
    void setTriples(int inputTriples);
    int getHomeRuns();
    void setHomeRuns(int inputHomeruns);
    int getHits();
    double getBattingAverage();
    double getOnBasePercentage();
    int getRunsScored();
    void setRunsScored(int inputRunsScored);
    int getRunsBattedIn();
    void setRunsBattedIn(int inputRunsBattedIn);
    int getStolenBases();
    void setStolenBases(int inputStolenBases);
    int getGamesPlayed();
    void setGamesPlayed(int inputGamesPlayed);
    int getSacrificeFlys();
    void setSacrificeFlys();

    //pitching stats
    int getWalksPitched();
    void setWalksPitched(int inputWalksPitched);
    int getEarnedRuns();
    void setEarnedRuns(int inputEarnedRuns);
    double getInningsPitched();
    void setInningsPitched(double inputInningsPitched);
    double getEarnedRunAverage();
    int getGamesPitched();
    void setGamesPitched(int inputGamesPitched);
    int getStrikeoutsPitched();
    void setStrikeoutsPitched(int inputStrikeoutsPitched);
    int getWins();
    void setWins(int inputWins);
    int getLosses();
    void setLosses(int inputLosses);
    int getHitsAllowed();
    void setHitsAllowed(int inputHitsAllowed);
    int getAtBatsFaced();
    void setAtBatsFaced(int inputAtBatsFaced);
    double getOpponentsBattingAverage();

    //defensive
    int getErrors();
    void setErrors(int inputErrors);

private:

    //offensive stats
    int atBats;
    int singles;
    int doubles;
    int triples;
    int homeruns;
    int walks;
    int strikeouts;
    int runsScored;
    int runsBattedIn;
    int stolenBases;
    int gamesPlayed;
    int sacrificeFlys;

    //pitching stats
    int walksPitched;
    int earnedRuns;
    double inningsPitched;
    int gamesPitched;
    int strikeoutsPitched;
    int wins;
    int losses;
    int hitsAllowed;
    int atBatsFaced;

    //defensive
    int errors;

};

#endif // PlayerStatistics_H
